package com.创建者模式.建造者模式;

/**指挥者
 * 它调用建造者对象中的部件构造与装配方法完成复杂对象的创建，在指挥者中不涉及具体产品的信息。
 * @author chenhs
 * @date 2020/10/12
 */
public class Director {
	//抽象建造者
	private  AbstractBuilder abstractBuilder;
	//指挥的构造方法，放入什么具体的建造者，就造哪种具体的产品
	public Director(AbstractBuilder abstractBuilder){
		this.abstractBuilder =abstractBuilder;
	}
	public  Product getProduct(){
		abstractBuilder.buidpartA();
		abstractBuilder.buidpartB();
		abstractBuilder.buidpartC();
		return abstractBuilder.getProduct();
	}
	
}
